﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Apple
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("添加集合元素");
            //添加集合元素
            ArrayList array = new ArrayList() { 1, 2, 3 };
            array.Add(4);
            array.Add(5);
            int a = array.Add(6);
            foreach (var r in array)
            {
                Console.WriteLine(r);
            }
            Console.WriteLine(a);

            Console.WriteLine("查找集合中的元素");

            //查找集合中的元素
            ArrayList list1 = new ArrayList() { "abc", "bcc", "ddd" };
            int list = list1.LastIndexOf("abc");
            if(list != -1)
            {
                Console.WriteLine("存在abc");
            }
            else
            {
                Console.WriteLine("不存在abc");
            }

            Console.WriteLine("将集合中下标为偶数的元素添加到另一个集合");

            //将集合中下标为偶数的元素添加到另一个集合
            ArrayList list2 = new ArrayList() { "b", "c", 3, 2, 1, 4, 5 };
            ArrayList lists = new ArrayList();
            for (int i = 1; i < list2.Count; i = i + 2)
            {
                lists.Add(list2[i]);
            }
            foreach(var q in lists)
            {
                Console.WriteLine(q);
            }

            Console.WriteLine("在集合中的第一个元素后面添加元素");

            //在集合中的第一个元素后面添加元素
            ArrayList list3 = new ArrayList() { 1, 3, 4, 5, 6 };
            ArrayList list4 = new ArrayList() { 2 };
            list3.InsertRange(1, list4);
            foreach(var c in list3)
            {
                Console.WriteLine(c);
            }

            Console.WriteLine("在集合中第一个元素的后面任意插入 3 个元素");

            //在集合中第一个元素的后面任意插入 3 个元素。
            ArrayList list5 = new ArrayList() { 1, 5,6,7 };
            list5.Insert(1, 2);
            list5.Insert(2, 3);
            list5.Insert(3, 4);
            foreach(var e in list5)
            {
                Console.WriteLine(e);
            }


            Console.WriteLine("将集合中的元素使用 Sort 方法排序后输出");


            //将集合中的元素使用 Sort 方法排序后输出。
            ArrayList list7 = new ArrayList() { 4, 1, 3, 6, 2, 5 };
            list7.Sort();
            //元素倒置
            list7.Reverse();
            foreach(var s in list7)
            {
                Console.WriteLine(s);
            }


            Console.WriteLine("使用大于、小于的方式比较");

            //使用大于、小于的方式比较
            Console.WriteLine( "s".CompareTo("r"));




            Console.WriteLine("使用ICompare的方式来排序输出string。");


            //使用ICompare的方式来排序输出string。

            ArrayList list8 = new ArrayList()
            { 1,8,9 ,3, 5 ,6};
            Orange orange = new Orange();
            list8.Sort(orange);
            foreach (var s in list8)
            {
                Console.WriteLine(s);
            }












        }
    }
}
